package com.beta.auth.dto.auth;

import com.beta.auth.constants.WXAuthMode;
import com.beta.auth.constants.WeiXinOAuthStateTypes;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serializable;


/**
 * @author zdwang
 */
@Data
@ApiModel(value = "授权接收参数")
public class AuthDto implements Serializable {

    private static final long serialVersionUID = 7097189548967961254L;

    private String ustate;

    private String returnUrl = null;

    private String state = null;

    private int ac = 1;

    private String code = null;

    private String anonymity = null;

    private WXAuthMode authMode = WXAuthMode.Multiple;

    private String wxAppId = null;

    private String corpId = null;

    private String suiteId = null;

    private WeiXinOAuthStateTypes scopeType = WeiXinOAuthStateTypes.User;

    private String wxoCAppId = null;

    private String wxoAppId = null;

    private WeiXinOAuthStateTypes wxoScopeType = WeiXinOAuthStateTypes.Base;

    private int authAtrategy = 0;

    private String wxoExAppIds = null;

    /**
     * 渠道，mp：公众号，默认：企微自建应用
     */
    private String authChannel;

    /**
     * base：基础授权
     * private: 高级授权
     */
    private String authType;

    /**
     * 渠道，目前是联合授权使用到
     */
    private String extAppId;

    /**
     * 如果是，会将bjwt写到Cookie中
     */
    private Boolean writeCookie = false;

    /**
     * 端类型。默认为手机端，支持PC端
     */
    private String clientType = "MOBILE";
}
